package com.maybach.core.ao;

import com.maybach.common.enums.order.InfoTypeEnum;
import com.maybach.common.model.LoanOrderDO;
import com.maybach.common.model.ShippingOrderDO;

/**
 * Created by houenxun on 16/3/7.
 */
public interface UserMsgAO {
    /**
     * 关闭订单
     * @param loanOrderDO
     * @param reason
     */
    public void closeOrder(LoanOrderDO loanOrderDO, String reason);

    /**
     * 确认订单
     * @param loanOrderDO
     */
    public void confirmOrder(LoanOrderDO loanOrderDO);

    /**
     * 同意资料申请
     * @param loanOrderDO
     * @param type
     */
    public void passInfo(LoanOrderDO loanOrderDO, InfoTypeEnum type);

    /**
     * 驳回资料申请
     * @param loanOrderDO
     * @param type
     * @param reason
     */
    public void rejectInfo(LoanOrderDO loanOrderDO, InfoTypeEnum type, String reason);

    /**
     * 物流发货
     */
    public void shipping(LoanOrderDO loanOrderDO,ShippingOrderDO shippingOrderDO);

    /**
     * 打款给供应商
     */

    public void payToProvider(LoanOrderDO loanOrderDO);
}
